import sys
import tkinter as tk
from tkinter import messagebox
import qrcode
from PIL import Image, ImageTk

# 显示机器码二维码的函数
def show_qr_code():
    # 这里假设机器码就是要生成二维码的内容
    machine_code = machine_id
    if machine_code == "未提供机器码":
        messagebox.showerror("错误", "请提供机器码")
        return
    qr = qrcode.QRCode(
        version=1,
        error_correction=qrcode.constants.ERROR_CORRECT_L,
        box_size=10,
        border=4,
    )
    qr.add_data(machine_code)
    qr.make(fit=True)

    img = qr.make_image(fill_color="black", back_color="white")
    img = img.resize((200, 200))
    img = ImageTk.PhotoImage(img)

    qr_label.config(image=img)
    qr_label.image = img


# 获取 machine_id
machine_id = sys.argv[1] if len(sys.argv) > 1 else "未提供机器码"

# 创建主窗口
root = tk.Tk()
root.title("机器码二维码显示系统")

# 创建并放置组件
frame = tk.Frame(root)
frame.pack(padx=10, pady=10)

tk.Button(frame, text="显示二维码", command=show_qr_code).pack(pady=10)

# 创建用于显示二维码的标签
qr_label = tk.Label(frame)
qr_label.pack(pady=10)

# 开始主循环
root.mainloop()